package main

import (
	"fmt"
	"time"
)

func main() {

	c1 := make(chan int, 1)
	c2 := make(chan int, 1)

	go func() {
		fmt.Println("c1写入数据， begin")
		time.Sleep(1 * time.Second)
		c1 <- 1
		fmt.Println("c1写入数据， end")
	}()

	go func() {
		fmt.Println("c2写入数据， begin")
		time.Sleep(2 * time.Second)
		c2 <- 1
		fmt.Println("c2写入数据， end")
	}()

	fmt.Println("主等待其中一个写好数据, begin")
	select {
	case <-c1:
		fmt.Println("c1, ok")
	case <-c2:
		fmt.Println("c2, ok")
	}
	fmt.Println("主等待其中一个写好数据， end")
}
